<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>transwarp: transwarp::detail::task_impl_proxy&lt; void, TaskType, Functor, ParentResults...&gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">transwarp
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespacetranswarp.html">transwarp</a></li><li class="navelem"><a class="el" href="namespacetranswarp_1_1detail.html">detail</a></li><li class="navelem"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__proxy_3_01void_00_01TaskType_00_01Functor_00_01ParentResults_8_8_8_4.html">task_impl_proxy< void, TaskType, Functor, ParentResults...></a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="classtranswarp_1_1detail_1_1task__impl__proxy_3_01void_00_01TaskType_00_01Functor_00_01ParentResults_8_8_8_4-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">transwarp::detail::task_impl_proxy&lt; void, TaskType, Functor, ParentResults...&gt; Class Template Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>A task proxy for void result type.  
 <a href="classtranswarp_1_1detail_1_1task__impl__proxy_3_01void_00_01TaskType_00_01Functor_00_01ParentResults_8_8_8_4.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="transwarp_8h_source.html">transwarp.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for transwarp::detail::task_impl_proxy&lt; void, TaskType, Functor, ParentResults...&gt;:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classtranswarp_1_1detail_1_1task__impl__proxy_3_01void_00_01TaskType_00_01Functor_00_01ParentResults_8_8_8_4.png" usemap="#transwarp::detail::task_impl_proxy&lt; void, TaskType, Functor, ParentResults...&gt;_map" alt=""/>
  <map id="transwarp::detail::task_impl_proxy&lt; void, TaskType, Functor, ParentResults...&gt;_map" name="transwarp::detail::task_impl_proxy&lt; void, TaskType, Functor, ParentResults...&gt;_map">
<area href="classtranswarp_1_1detail_1_1task__impl__base.html" alt="transwarp::detail::task_impl_base&lt; void, TaskType, Functor, ParentResults...&gt;" shape="rect" coords="0,224,457,248"/>
<area href="classtranswarp_1_1detail_1_1task__common.html" alt="transwarp::detail::task_common&lt; void &gt;" shape="rect" coords="0,168,457,192"/>
<area href="classtranswarp_1_1task_3_01void_01_4.html" title="The task class (void result type) " alt="transwarp::task&lt; void &gt;" shape="rect" coords="0,112,457,136"/>
<area href="classtranswarp_1_1itask.html" title="An interface for the task class. " alt="transwarp::itask" shape="rect" coords="0,56,457,80"/>
</map>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a45739ce73b429375313e79fa32dd8285"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a45739ce73b429375313e79fa32dd8285"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__proxy_3_01void_00_01TaskType_00_01Functor_00_01ParentResults_8_8_8_4.html#a45739ce73b429375313e79fa32dd8285">task_type</a> = TaskType</td></tr>
<tr class="memdesc:a45739ce73b429375313e79fa32dd8285"><td class="mdescLeft">&#160;</td><td class="mdescRight">The task type. <br/></td></tr>
<tr class="separator:a45739ce73b429375313e79fa32dd8285"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f9f7fb59ae39d4039f91b2701d7d4a1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0f9f7fb59ae39d4039f91b2701d7d4a1"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__proxy_3_01void_00_01TaskType_00_01Functor_00_01ParentResults_8_8_8_4.html#a0f9f7fb59ae39d4039f91b2701d7d4a1">result_type</a> = void</td></tr>
<tr class="memdesc:a0f9f7fb59ae39d4039f91b2701d7d4a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">The result type of this task. <br/></td></tr>
<tr class="separator:a0f9f7fb59ae39d4039f91b2701d7d4a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_types_classtranswarp_1_1detail_1_1task__impl__base"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classtranswarp_1_1detail_1_1task__impl__base')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html">transwarp::detail::task_impl_base&lt; void, TaskType, Functor, ParentResults...&gt;</a></td></tr>
<tr class="memitem:a6013f18e2e5ab8c829642f086cd64f49 inherit pub_types_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6013f18e2e5ab8c829642f086cd64f49"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a6013f18e2e5ab8c829642f086cd64f49">task_type</a> = TaskType</td></tr>
<tr class="memdesc:a6013f18e2e5ab8c829642f086cd64f49 inherit pub_types_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">The task type. <br/></td></tr>
<tr class="separator:a6013f18e2e5ab8c829642f086cd64f49 inherit pub_types_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ae1931585a8304aaa172c74d06bf8f3 inherit pub_types_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9ae1931585a8304aaa172c74d06bf8f3"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a9ae1931585a8304aaa172c74d06bf8f3">result_type</a> = void</td></tr>
<tr class="memdesc:a9ae1931585a8304aaa172c74d06bf8f3 inherit pub_types_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">The result type of this task. <br/></td></tr>
<tr class="separator:a9ae1931585a8304aaa172c74d06bf8f3 inherit pub_types_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_types_classtranswarp_1_1detail_1_1task__common"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classtranswarp_1_1detail_1_1task__common')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classtranswarp_1_1detail_1_1task__common.html">transwarp::detail::task_common&lt; void &gt;</a></td></tr>
<tr class="memitem:a3a0e6f882a6dd86fa2e152a2aa595f90 inherit pub_types_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3a0e6f882a6dd86fa2e152a2aa595f90"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a3a0e6f882a6dd86fa2e152a2aa595f90">result_type</a> = void</td></tr>
<tr class="memdesc:a3a0e6f882a6dd86fa2e152a2aa595f90 inherit pub_types_classtranswarp_1_1detail_1_1task__common"><td class="mdescLeft">&#160;</td><td class="mdescRight">The result type of this task. <br/></td></tr>
<tr class="separator:a3a0e6f882a6dd86fa2e152a2aa595f90 inherit pub_types_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_types_classtranswarp_1_1task_3_01void_01_4"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classtranswarp_1_1task_3_01void_01_4')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classtranswarp_1_1task_3_01void_01_4.html">transwarp::task&lt; void &gt;</a></td></tr>
<tr class="memitem:a9f186d8a4a0c318d5a9a63e5c86acc8b inherit pub_types_classtranswarp_1_1task_3_01void_01_4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9f186d8a4a0c318d5a9a63e5c86acc8b"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>result_type</b> = void</td></tr>
<tr class="separator:a9f186d8a4a0c318d5a9a63e5c86acc8b inherit pub_types_classtranswarp_1_1task_3_01void_01_4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ac5ba8f4015034bd18360ea1650a526a3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac5ba8f4015034bd18360ea1650a526a3"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__proxy_3_01void_00_01TaskType_00_01Functor_00_01ParentResults_8_8_8_4.html#ac5ba8f4015034bd18360ea1650a526a3">set_value</a> () override</td></tr>
<tr class="memdesc:ac5ba8f4015034bd18360ea1650a526a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assigns a value to this task. Scheduling will have no effect after a call to this. Calling <a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#ae9395346d257ac48c5dc807681bc0859" title="Resets this task. ">reset()</a> will reset this and re-enable scheduling. <br/></td></tr>
<tr class="separator:ac5ba8f4015034bd18360ea1650a526a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31147b0e7cd49d8fff18c9c3055fc6b9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a31147b0e7cd49d8fff18c9c3055fc6b9"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__proxy_3_01void_00_01TaskType_00_01Functor_00_01ParentResults_8_8_8_4.html#a31147b0e7cd49d8fff18c9c3055fc6b9">get</a> () const override</td></tr>
<tr class="memdesc:a31147b0e7cd49d8fff18c9c3055fc6b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Blocks until the task finishes. Throws any exceptions that the underlying functor throws. Should only be called if <a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a55c8ea68e33b2d4512c47897adf2159d" title="Returns whether the task was scheduled and not reset afterwards. This means that the underlying futur...">was_scheduled()</a> is true, throws <a class="el" href="classtranswarp_1_1control__error.html" title="Exception thrown when a task is used in unintended ways. ">transwarp::control_error</a> otherwise. <br/></td></tr>
<tr class="separator:a31147b0e7cd49d8fff18c9c3055fc6b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classtranswarp_1_1detail_1_1task__impl__base')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html">transwarp::detail::task_impl_base&lt; void, TaskType, Functor, ParentResults...&gt;</a></td></tr>
<tr class="memitem:afeef5dc7204a4706bd694b884389ea0f inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afeef5dc7204a4706bd694b884389ea0f"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#afeef5dc7204a4706bd694b884389ea0f">finalize</a> () override</td></tr>
<tr class="memdesc:afeef5dc7204a4706bd694b884389ea0f inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Can be called to explicitly finalize this task making this task the terminal task in the graph. This is also done implicitly when calling, e.g., any of the *_all methods. It should normally not be necessary to call this method directly. <br/></td></tr>
<tr class="separator:afeef5dc7204a4706bd694b884389ea0f inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3bb6fe289b3bba997188bbcb7e35c5e inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab3bb6fe289b3bba997188bbcb7e35c5e"></a>
std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#ab3bb6fe289b3bba997188bbcb7e35c5e">level</a> () const noexceptoverride</td></tr>
<tr class="memdesc:ab3bb6fe289b3bba997188bbcb7e35c5e inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">The task's level. <br/></td></tr>
<tr class="separator:ab3bb6fe289b3bba997188bbcb7e35c5e inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab39ac1ad7ec432a7ad3644665bc8787f inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab39ac1ad7ec432a7ad3644665bc8787f"></a>
<a class="el" href="namespacetranswarp.html#a10f2b2567332cf9514d4c366c1cc5a5e">transwarp::task_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#ab39ac1ad7ec432a7ad3644665bc8787f">type</a> () const noexceptoverride</td></tr>
<tr class="memdesc:ab39ac1ad7ec432a7ad3644665bc8787f inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">The task's type. <br/></td></tr>
<tr class="separator:ab39ac1ad7ec432a7ad3644665bc8787f inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4ec3ee45459bf94cf9e13086c21a7f9 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae4ec3ee45459bf94cf9e13086c21a7f9"></a>
std::shared_ptr<br class="typebreak"/>
&lt; <a class="el" href="classtranswarp_1_1executor.html">transwarp::executor</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#ae4ec3ee45459bf94cf9e13086c21a7f9">executor</a> () const noexceptoverride</td></tr>
<tr class="memdesc:ae4ec3ee45459bf94cf9e13086c21a7f9 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">The task's executor (may be null) <br/></td></tr>
<tr class="separator:ae4ec3ee45459bf94cf9e13086c21a7f9 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9b77c211fc94478608659d104928e92 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa9b77c211fc94478608659d104928e92"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#aa9b77c211fc94478608659d104928e92">canceled</a> () const noexceptoverride</td></tr>
<tr class="memdesc:aa9b77c211fc94478608659d104928e92 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the associated task is canceled. <br/></td></tr>
<tr class="separator:aa9b77c211fc94478608659d104928e92 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab67a9147cc0bb10a20df2570f2908e5c inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab67a9147cc0bb10a20df2570f2908e5c"></a>
std::int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#ab67a9147cc0bb10a20df2570f2908e5c">avg_idletime_us</a> () const noexceptoverride</td></tr>
<tr class="memdesc:ab67a9147cc0bb10a20df2570f2908e5c inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the average idletime in microseconds (-1 if never set) <br/></td></tr>
<tr class="separator:ab67a9147cc0bb10a20df2570f2908e5c inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7eba9a44f8b3e833345e221bda5a6ce inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad7eba9a44f8b3e833345e221bda5a6ce"></a>
std::int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#ad7eba9a44f8b3e833345e221bda5a6ce">avg_waittime_us</a> () const noexceptoverride</td></tr>
<tr class="memdesc:ad7eba9a44f8b3e833345e221bda5a6ce inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the average waittime in microseconds (-1 if never set) <br/></td></tr>
<tr class="separator:ad7eba9a44f8b3e833345e221bda5a6ce inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a765a43f4f7f6a63711ba38f574a99f70 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a765a43f4f7f6a63711ba38f574a99f70"></a>
std::int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a765a43f4f7f6a63711ba38f574a99f70">avg_runtime_us</a> () const noexceptoverride</td></tr>
<tr class="memdesc:a765a43f4f7f6a63711ba38f574a99f70 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the average runtime in microseconds (-1 if never set) <br/></td></tr>
<tr class="separator:a765a43f4f7f6a63711ba38f574a99f70 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9b2fdcdf2887af6e3672205e81d8bd1 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab9b2fdcdf2887af6e3672205e81d8bd1"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#ab9b2fdcdf2887af6e3672205e81d8bd1">set_executor</a> (std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1executor.html">transwarp::executor</a> &gt; <a class="el" href="classtranswarp_1_1executor.html">executor</a>) override</td></tr>
<tr class="memdesc:ab9b2fdcdf2887af6e3672205e81d8bd1 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assigns an executor to this task which takes precedence over the executor provided in <a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a088ef96722fcc2ae566d986a3b7aa126" title="Schedules this task for execution on the caller thread. The task-specific executor gets precedence if...">schedule()</a> or <a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a6c6e793a568687da09fd2e301f0aabeb" title="Schedules all tasks in the graph for execution on the caller thread. The task-specific executors get ...">schedule_all()</a> <br/></td></tr>
<tr class="separator:ab9b2fdcdf2887af6e3672205e81d8bd1 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a616f72434683f0165a231b3d5cddda3c inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a616f72434683f0165a231b3d5cddda3c"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a616f72434683f0165a231b3d5cddda3c">set_executor_all</a> (std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1executor.html">transwarp::executor</a> &gt; <a class="el" href="classtranswarp_1_1executor.html">executor</a>) override</td></tr>
<tr class="memdesc:a616f72434683f0165a231b3d5cddda3c inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assigns an executor to all tasks which takes precedence over the executor provided in <a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a088ef96722fcc2ae566d986a3b7aa126" title="Schedules this task for execution on the caller thread. The task-specific executor gets precedence if...">schedule()</a> or <a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a6c6e793a568687da09fd2e301f0aabeb" title="Schedules all tasks in the graph for execution on the caller thread. The task-specific executors get ...">schedule_all()</a> <br/></td></tr>
<tr class="separator:a616f72434683f0165a231b3d5cddda3c inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a195cd09889aa2008c840cb667b8147 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9a195cd09889aa2008c840cb667b8147"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a9a195cd09889aa2008c840cb667b8147">remove_executor</a> () override</td></tr>
<tr class="memdesc:a9a195cd09889aa2008c840cb667b8147 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes the executor from this task. <br/></td></tr>
<tr class="separator:a9a195cd09889aa2008c840cb667b8147 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad89fde97c3443622010ac2b8012c4d60 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad89fde97c3443622010ac2b8012c4d60"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#ad89fde97c3443622010ac2b8012c4d60">remove_executor_all</a> () override</td></tr>
<tr class="memdesc:ad89fde97c3443622010ac2b8012c4d60 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes the executor from all tasks. <br/></td></tr>
<tr class="separator:ad89fde97c3443622010ac2b8012c4d60 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a088ef96722fcc2ae566d986a3b7aa126 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a088ef96722fcc2ae566d986a3b7aa126"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a088ef96722fcc2ae566d986a3b7aa126">schedule</a> () override</td></tr>
<tr class="memdesc:a088ef96722fcc2ae566d986a3b7aa126 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Schedules this task for execution on the caller thread. The task-specific executor gets precedence if it exists. This overload will reset the underlying future. <br/></td></tr>
<tr class="separator:a088ef96722fcc2ae566d986a3b7aa126 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a489e94b8da4d4845444db55f4ad0099d inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a489e94b8da4d4845444db55f4ad0099d"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a489e94b8da4d4845444db55f4ad0099d">schedule</a> (bool <a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#ae9395346d257ac48c5dc807681bc0859">reset</a>) override</td></tr>
<tr class="memdesc:a489e94b8da4d4845444db55f4ad0099d inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Schedules this task for execution on the caller thread. The task-specific executor gets precedence if it exists. reset denotes whether schedule should reset the underlying future and schedule even if the future is already valid. <br/></td></tr>
<tr class="separator:a489e94b8da4d4845444db55f4ad0099d inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af79f9cfc45e39bde282d38603b5570bf inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af79f9cfc45e39bde282d38603b5570bf"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#af79f9cfc45e39bde282d38603b5570bf">schedule</a> (<a class="el" href="classtranswarp_1_1executor.html">transwarp::executor</a> &amp;<a class="el" href="classtranswarp_1_1executor.html">executor</a>) override</td></tr>
<tr class="memdesc:af79f9cfc45e39bde282d38603b5570bf inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Schedules this task for execution using the provided executor. The task-specific executor gets precedence if it exists. This overload will reset the underlying future. <br/></td></tr>
<tr class="separator:af79f9cfc45e39bde282d38603b5570bf inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01748aaad3320b193ad02ebe22e0ecd5 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a01748aaad3320b193ad02ebe22e0ecd5"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a01748aaad3320b193ad02ebe22e0ecd5">schedule</a> (<a class="el" href="classtranswarp_1_1executor.html">transwarp::executor</a> &amp;<a class="el" href="classtranswarp_1_1executor.html">executor</a>, bool <a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#ae9395346d257ac48c5dc807681bc0859">reset</a>) override</td></tr>
<tr class="memdesc:a01748aaad3320b193ad02ebe22e0ecd5 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Schedules this task for execution using the provided executor. The task-specific executor gets precedence if it exists. reset denotes whether schedule should reset the underlying future and schedule even if the future is already valid. <br/></td></tr>
<tr class="separator:a01748aaad3320b193ad02ebe22e0ecd5 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c6e793a568687da09fd2e301f0aabeb inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6c6e793a568687da09fd2e301f0aabeb"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a6c6e793a568687da09fd2e301f0aabeb">schedule_all</a> () override</td></tr>
<tr class="memdesc:a6c6e793a568687da09fd2e301f0aabeb inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Schedules all tasks in the graph for execution on the caller thread. The task-specific executors get precedence if they exist. This overload will reset the underlying futures. <br/></td></tr>
<tr class="separator:a6c6e793a568687da09fd2e301f0aabeb inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a593a4c887344bd22497acbd207387c7f inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a593a4c887344bd22497acbd207387c7f"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a593a4c887344bd22497acbd207387c7f">schedule_all</a> (<a class="el" href="classtranswarp_1_1executor.html">transwarp::executor</a> &amp;<a class="el" href="classtranswarp_1_1executor.html">executor</a>) override</td></tr>
<tr class="memdesc:a593a4c887344bd22497acbd207387c7f inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Schedules all tasks in the graph for execution using the provided executor. The task-specific executors get precedence if they exist. This overload will reset the underlying futures. <br/></td></tr>
<tr class="separator:a593a4c887344bd22497acbd207387c7f inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a36ae331a35265a0a3e2cbca228809cd7 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a36ae331a35265a0a3e2cbca228809cd7"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a36ae331a35265a0a3e2cbca228809cd7">schedule_all</a> (bool <a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#afc2bb4a5017de5ddd00425fd51ae5d14">reset_all</a>) override</td></tr>
<tr class="memdesc:a36ae331a35265a0a3e2cbca228809cd7 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Schedules all tasks in the graph for execution on the caller thread. The task-specific executors get precedence if they exist. reset_all denotes whether schedule_all should reset the underlying futures and schedule even if the futures are already present. <br/></td></tr>
<tr class="separator:a36ae331a35265a0a3e2cbca228809cd7 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac10238843e166e1f726a2da10bd63adc inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac10238843e166e1f726a2da10bd63adc"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#ac10238843e166e1f726a2da10bd63adc">schedule_all</a> (<a class="el" href="classtranswarp_1_1executor.html">transwarp::executor</a> &amp;<a class="el" href="classtranswarp_1_1executor.html">executor</a>, bool <a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#afc2bb4a5017de5ddd00425fd51ae5d14">reset_all</a>) override</td></tr>
<tr class="memdesc:ac10238843e166e1f726a2da10bd63adc inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Schedules all tasks in the graph for execution using the provided executor. The task-specific executors get precedence if they exist. reset_all denotes whether schedule_all should reset the underlying futures and schedule even if the futures are already present. <br/></td></tr>
<tr class="separator:ac10238843e166e1f726a2da10bd63adc inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a4a7473e054df4a30e9cfa8afb75cae inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5a4a7473e054df4a30e9cfa8afb75cae"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a5a4a7473e054df4a30e9cfa8afb75cae">set_exception</a> (std::exception_ptr exception) override</td></tr>
<tr class="memdesc:a5a4a7473e054df4a30e9cfa8afb75cae inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assigns an exception to this task. Scheduling will have no effect after an exception has been set. Calling <a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#ae9395346d257ac48c5dc807681bc0859" title="Resets this task. ">reset()</a> will remove the exception and re-enable scheduling. <br/></td></tr>
<tr class="separator:a5a4a7473e054df4a30e9cfa8afb75cae inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55c8ea68e33b2d4512c47897adf2159d inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a55c8ea68e33b2d4512c47897adf2159d"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a55c8ea68e33b2d4512c47897adf2159d">was_scheduled</a> () const noexceptoverride</td></tr>
<tr class="memdesc:a55c8ea68e33b2d4512c47897adf2159d inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the task was scheduled and not reset afterwards. This means that the underlying future is valid. <br/></td></tr>
<tr class="separator:a55c8ea68e33b2d4512c47897adf2159d inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0741b5882bdf4eaeeea2edaaa099006a inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0741b5882bdf4eaeeea2edaaa099006a"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a0741b5882bdf4eaeeea2edaaa099006a">wait</a> () const override</td></tr>
<tr class="memdesc:a0741b5882bdf4eaeeea2edaaa099006a inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Waits for the task to complete. Should only be called if <a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a55c8ea68e33b2d4512c47897adf2159d" title="Returns whether the task was scheduled and not reset afterwards. This means that the underlying futur...">was_scheduled()</a> is true, throws <a class="el" href="classtranswarp_1_1control__error.html" title="Exception thrown when a task is used in unintended ways. ">transwarp::control_error</a> otherwise. <br/></td></tr>
<tr class="separator:a0741b5882bdf4eaeeea2edaaa099006a inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a924528d6f2b7555e34755a51c5c5dd5f inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a924528d6f2b7555e34755a51c5c5dd5f"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a924528d6f2b7555e34755a51c5c5dd5f">is_ready</a> () const override</td></tr>
<tr class="memdesc:a924528d6f2b7555e34755a51c5c5dd5f inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the task has finished processing. Should only be called if <a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a55c8ea68e33b2d4512c47897adf2159d" title="Returns whether the task was scheduled and not reset afterwards. This means that the underlying futur...">was_scheduled()</a> is true, throws <a class="el" href="classtranswarp_1_1control__error.html" title="Exception thrown when a task is used in unintended ways. ">transwarp::control_error</a> otherwise. <br/></td></tr>
<tr class="separator:a924528d6f2b7555e34755a51c5c5dd5f inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac352cbb81a05f85c16ee5dac3c5ae9dc inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac352cbb81a05f85c16ee5dac3c5ae9dc"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#ac352cbb81a05f85c16ee5dac3c5ae9dc">has_result</a> () const noexceptoverride</td></tr>
<tr class="memdesc:ac352cbb81a05f85c16ee5dac3c5ae9dc inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether this task contains a result. <br/></td></tr>
<tr class="separator:ac352cbb81a05f85c16ee5dac3c5ae9dc inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9395346d257ac48c5dc807681bc0859 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae9395346d257ac48c5dc807681bc0859"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#ae9395346d257ac48c5dc807681bc0859">reset</a> () override</td></tr>
<tr class="memdesc:ae9395346d257ac48c5dc807681bc0859 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets this task. <br/></td></tr>
<tr class="separator:ae9395346d257ac48c5dc807681bc0859 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc2bb4a5017de5ddd00425fd51ae5d14 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afc2bb4a5017de5ddd00425fd51ae5d14"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#afc2bb4a5017de5ddd00425fd51ae5d14">reset_all</a> () override</td></tr>
<tr class="memdesc:afc2bb4a5017de5ddd00425fd51ae5d14 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets all tasks in the graph. <br/></td></tr>
<tr class="separator:afc2bb4a5017de5ddd00425fd51ae5d14 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97901db218f0f9006e0cbaf1a7c4e0c1 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a97901db218f0f9006e0cbaf1a7c4e0c1"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a97901db218f0f9006e0cbaf1a7c4e0c1">cancel</a> (bool enabled) noexceptoverride</td></tr>
<tr class="memdesc:a97901db218f0f9006e0cbaf1a7c4e0c1 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">If enabled then this task is canceled which will throw <a class="el" href="classtranswarp_1_1task__canceled.html" title="Exception thrown when a task is canceled. ">transwarp::task_canceled</a> when retrieving the task result. Passing false is equivalent to resume. <br/></td></tr>
<tr class="separator:a97901db218f0f9006e0cbaf1a7c4e0c1 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af567fa162e353f127c778ef57e64def2 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af567fa162e353f127c778ef57e64def2"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#af567fa162e353f127c778ef57e64def2">cancel_all</a> (bool enabled) noexceptoverride</td></tr>
<tr class="memdesc:af567fa162e353f127c778ef57e64def2 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">If enabled then all pending tasks in the graph are canceled which will throw <a class="el" href="classtranswarp_1_1task__canceled.html" title="Exception thrown when a task is canceled. ">transwarp::task_canceled</a> when retrieving the task result. Passing false is equivalent to resume. <br/></td></tr>
<tr class="separator:af567fa162e353f127c778ef57e64def2 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae35a5d62df1a4ab71a0e0a5fab28b74 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aae35a5d62df1a4ab71a0e0a5fab28b74"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#aae35a5d62df1a4ab71a0e0a5fab28b74">set_priority_all</a> (std::int64_t <a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a370a43e1569057cc63348c940cfb1562">priority</a>) override</td></tr>
<tr class="memdesc:aae35a5d62df1a4ab71a0e0a5fab28b74 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets a priority to all tasks (defaults to 0). transwarp will not directly use this. This is only useful if something else is using the priority (e.g. a custom executor) <br/></td></tr>
<tr class="separator:aae35a5d62df1a4ab71a0e0a5fab28b74 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f07ac9522ba402c37597cd793922897 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3f07ac9522ba402c37597cd793922897"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a3f07ac9522ba402c37597cd793922897">reset_priority_all</a> () override</td></tr>
<tr class="memdesc:a3f07ac9522ba402c37597cd793922897 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets the priority of all tasks to 0. <br/></td></tr>
<tr class="separator:a3f07ac9522ba402c37597cd793922897 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60e0e0c5ec85d7aa9a396e1497db6f22 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a60e0e0c5ec85d7aa9a396e1497db6f22"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a60e0e0c5ec85d7aa9a396e1497db6f22">set_custom_data_all</a> (transwarp::any_data <a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a0d4e89e036615dd7ad6125fa6de1a0db">custom_data</a>) override</td></tr>
<tr class="memdesc:a60e0e0c5ec85d7aa9a396e1497db6f22 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assigns custom data to all tasks. transwarp will not directly use this. This is only useful if something else is using this custom data (e.g. a custom executor) <br/></td></tr>
<tr class="separator:a60e0e0c5ec85d7aa9a396e1497db6f22 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a117815bc16470c34c209c664999041d3 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a117815bc16470c34c209c664999041d3"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a117815bc16470c34c209c664999041d3">remove_custom_data_all</a> () override</td></tr>
<tr class="memdesc:a117815bc16470c34c209c664999041d3 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes custom data from all tasks. <br/></td></tr>
<tr class="separator:a117815bc16470c34c209c664999041d3 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a882e36d39ab3be3ffa53451ec87f0672 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a882e36d39ab3be3ffa53451ec87f0672"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a882e36d39ab3be3ffa53451ec87f0672">add_listener_all</a> (std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1listener.html">transwarp::listener</a> &gt; <a class="el" href="classtranswarp_1_1listener.html">listener</a>) override</td></tr>
<tr class="memdesc:a882e36d39ab3be3ffa53451ec87f0672 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a new listener for all event types and for all parents. <br/></td></tr>
<tr class="separator:a882e36d39ab3be3ffa53451ec87f0672 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97a7a1cb3f24f2d33c28b30596b0c7fb inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a97a7a1cb3f24f2d33c28b30596b0c7fb"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a97a7a1cb3f24f2d33c28b30596b0c7fb">add_listener_all</a> (<a class="el" href="namespacetranswarp.html#a857009a6efbb2f34495ee81664a376dc">transwarp::event_type</a> event, std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1listener.html">transwarp::listener</a> &gt; <a class="el" href="classtranswarp_1_1listener.html">listener</a>) override</td></tr>
<tr class="memdesc:a97a7a1cb3f24f2d33c28b30596b0c7fb inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a new listener for the given event type only and for all parents. <br/></td></tr>
<tr class="separator:a97a7a1cb3f24f2d33c28b30596b0c7fb inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59a726d9c146ae248b6c0cd3f5e21c73 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a59a726d9c146ae248b6c0cd3f5e21c73"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a59a726d9c146ae248b6c0cd3f5e21c73">remove_listener_all</a> (const std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1listener.html">transwarp::listener</a> &gt; &amp;<a class="el" href="classtranswarp_1_1listener.html">listener</a>) override</td></tr>
<tr class="memdesc:a59a726d9c146ae248b6c0cd3f5e21c73 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes the listener for all event types and for all parents. <br/></td></tr>
<tr class="separator:a59a726d9c146ae248b6c0cd3f5e21c73 inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16426672b7e1fedc158ae85e5550668a inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a16426672b7e1fedc158ae85e5550668a"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a16426672b7e1fedc158ae85e5550668a">remove_listener_all</a> (<a class="el" href="namespacetranswarp.html#a857009a6efbb2f34495ee81664a376dc">transwarp::event_type</a> event, const std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1listener.html">transwarp::listener</a> &gt; &amp;<a class="el" href="classtranswarp_1_1listener.html">listener</a>) override</td></tr>
<tr class="memdesc:a16426672b7e1fedc158ae85e5550668a inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes the listener for the given event type only and for all parents. <br/></td></tr>
<tr class="separator:a16426672b7e1fedc158ae85e5550668a inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4734cd0b4eb7b0ac62ebbd29ef7cb2b inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa4734cd0b4eb7b0ac62ebbd29ef7cb2b"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#aa4734cd0b4eb7b0ac62ebbd29ef7cb2b">remove_listeners_all</a> () override</td></tr>
<tr class="memdesc:aa4734cd0b4eb7b0ac62ebbd29ef7cb2b inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes all listeners and for all parents. <br/></td></tr>
<tr class="separator:aa4734cd0b4eb7b0ac62ebbd29ef7cb2b inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c20f81b19b8693c3144998ad178f15f inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8c20f81b19b8693c3144998ad178f15f"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a8c20f81b19b8693c3144998ad178f15f">remove_listeners_all</a> (<a class="el" href="namespacetranswarp.html#a857009a6efbb2f34495ee81664a376dc">transwarp::event_type</a> event) override</td></tr>
<tr class="memdesc:a8c20f81b19b8693c3144998ad178f15f inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes all listeners for the given event type and for all parents. <br/></td></tr>
<tr class="separator:a8c20f81b19b8693c3144998ad178f15f inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1dae043c5a73dbdea60cd7099d6a29fa inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1dae043c5a73dbdea60cd7099d6a29fa"></a>
std::vector&lt; <a class="el" href="classtranswarp_1_1itask.html">transwarp::itask</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a1dae043c5a73dbdea60cd7099d6a29fa">parents</a> () const override</td></tr>
<tr class="memdesc:a1dae043c5a73dbdea60cd7099d6a29fa inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the task's parents (may be empty) <br/></td></tr>
<tr class="separator:a1dae043c5a73dbdea60cd7099d6a29fa inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a995640e0534e5cf21803ba7ff8518c3c inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a995640e0534e5cf21803ba7ff8518c3c"></a>
const std::vector<br class="typebreak"/>
&lt; <a class="el" href="classtranswarp_1_1itask.html">transwarp::itask</a> * &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a995640e0534e5cf21803ba7ff8518c3c">tasks</a> () override</td></tr>
<tr class="memdesc:a995640e0534e5cf21803ba7ff8518c3c inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns all tasks in the graph in breadth order. <br/></td></tr>
<tr class="separator:a995640e0534e5cf21803ba7ff8518c3c inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab888115ac9ca1ffb1ff56c45735a838b inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab888115ac9ca1ffb1ff56c45735a838b"></a>
std::vector&lt; <a class="el" href="classtranswarp_1_1edge.html">transwarp::edge</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#ab888115ac9ca1ffb1ff56c45735a838b">edges</a> () override</td></tr>
<tr class="memdesc:ab888115ac9ca1ffb1ff56c45735a838b inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns all edges in the graph. This is mainly for visualizing the tasks and their interdependencies. Pass the result into <a class="el" href="namespacetranswarp.html#ab7cae8c7d0267dd51406f77f69697c3b" title="String conversion for the task_type enumeration. ">transwarp::to_string</a> to retrieve a dot-style graph representation for easy viewing. <br/></td></tr>
<tr class="separator:ab888115ac9ca1ffb1ff56c45735a838b inherit pub_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classtranswarp_1_1detail_1_1task__common"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classtranswarp_1_1detail_1_1task__common')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classtranswarp_1_1detail_1_1task__common.html">transwarp::detail::task_common&lt; void &gt;</a></td></tr>
<tr class="memitem:a35c8025a7dc38caf099507ecc5e19ae1 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a35c8025a7dc38caf099507ecc5e19ae1"></a>
std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a35c8025a7dc38caf099507ecc5e19ae1">id</a> () const noexceptoverride</td></tr>
<tr class="memdesc:a35c8025a7dc38caf099507ecc5e19ae1 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="mdescLeft">&#160;</td><td class="mdescRight">The task's id. <br/></td></tr>
<tr class="separator:a35c8025a7dc38caf099507ecc5e19ae1 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab72873890c32b635f36678d403605c59 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab72873890c32b635f36678d403605c59"></a>
const transwarp::option_str &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#ab72873890c32b635f36678d403605c59">name</a> () const noexceptoverride</td></tr>
<tr class="memdesc:ab72873890c32b635f36678d403605c59 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="mdescLeft">&#160;</td><td class="mdescRight">The optional task name. <br/></td></tr>
<tr class="separator:ab72873890c32b635f36678d403605c59 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a370a43e1569057cc63348c940cfb1562 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a370a43e1569057cc63348c940cfb1562"></a>
std::int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a370a43e1569057cc63348c940cfb1562">priority</a> () const noexceptoverride</td></tr>
<tr class="memdesc:a370a43e1569057cc63348c940cfb1562 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="mdescLeft">&#160;</td><td class="mdescRight">The task priority (defaults to 0) <br/></td></tr>
<tr class="separator:a370a43e1569057cc63348c940cfb1562 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d4e89e036615dd7ad6125fa6de1a0db inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0d4e89e036615dd7ad6125fa6de1a0db"></a>
const transwarp::any_data &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a0d4e89e036615dd7ad6125fa6de1a0db">custom_data</a> () const noexceptoverride</td></tr>
<tr class="memdesc:a0d4e89e036615dd7ad6125fa6de1a0db inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="mdescLeft">&#160;</td><td class="mdescRight">The custom task data (may not hold a value) <br/></td></tr>
<tr class="separator:a0d4e89e036615dd7ad6125fa6de1a0db inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac786819b845dad8b71060d64b494021 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aac786819b845dad8b71060d64b494021"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#aac786819b845dad8b71060d64b494021">set_priority</a> (std::int64_t <a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a370a43e1569057cc63348c940cfb1562">priority</a>) override</td></tr>
<tr class="memdesc:aac786819b845dad8b71060d64b494021 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets a task priority (defaults to 0). transwarp will not directly use this. This is only useful if something else is using the priority (e.g. a custom executor) <br/></td></tr>
<tr class="separator:aac786819b845dad8b71060d64b494021 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af589678f1bd7d3190481ef4ee8bc3a71 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af589678f1bd7d3190481ef4ee8bc3a71"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#af589678f1bd7d3190481ef4ee8bc3a71">reset_priority</a> () override</td></tr>
<tr class="memdesc:af589678f1bd7d3190481ef4ee8bc3a71 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets the task priority to 0. <br/></td></tr>
<tr class="separator:af589678f1bd7d3190481ef4ee8bc3a71 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af207f76847e7173d5db4a00e8325d0d4 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af207f76847e7173d5db4a00e8325d0d4"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#af207f76847e7173d5db4a00e8325d0d4">set_custom_data</a> (transwarp::any_data <a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a0d4e89e036615dd7ad6125fa6de1a0db">custom_data</a>) override</td></tr>
<tr class="memdesc:af207f76847e7173d5db4a00e8325d0d4 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assigns custom data to this task. transwarp will not directly use this. This is only useful if something else is using this custom data (e.g. a custom executor) <br/></td></tr>
<tr class="separator:af207f76847e7173d5db4a00e8325d0d4 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a730e97aa69e1cf079198f802cb2b9a76 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a730e97aa69e1cf079198f802cb2b9a76"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a730e97aa69e1cf079198f802cb2b9a76">remove_custom_data</a> () override</td></tr>
<tr class="memdesc:a730e97aa69e1cf079198f802cb2b9a76 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes custom data from this task. <br/></td></tr>
<tr class="separator:a730e97aa69e1cf079198f802cb2b9a76 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e341705b8597d354758c4812a8d902c inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9e341705b8597d354758c4812a8d902c"></a>
std::shared_future&lt; <a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a3a0e6f882a6dd86fa2e152a2aa595f90">result_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a9e341705b8597d354758c4812a8d902c">future</a> () const noexceptoverride</td></tr>
<tr class="memdesc:a9e341705b8597d354758c4812a8d902c inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the future associated to the underlying execution. <br/></td></tr>
<tr class="separator:a9e341705b8597d354758c4812a8d902c inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6da9d357b6e09ca0e597bf2370941157 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6da9d357b6e09ca0e597bf2370941157"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a6da9d357b6e09ca0e597bf2370941157">add_listener</a> (std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1listener.html">transwarp::listener</a> &gt; <a class="el" href="classtranswarp_1_1listener.html">listener</a>) override</td></tr>
<tr class="memdesc:a6da9d357b6e09ca0e597bf2370941157 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a new listener for all event types. <br/></td></tr>
<tr class="separator:a6da9d357b6e09ca0e597bf2370941157 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a83255d9dd559248835e3e686f6f8fa22 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a83255d9dd559248835e3e686f6f8fa22"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a83255d9dd559248835e3e686f6f8fa22">add_listener</a> (<a class="el" href="namespacetranswarp.html#a857009a6efbb2f34495ee81664a376dc">transwarp::event_type</a> event, std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1listener.html">transwarp::listener</a> &gt; <a class="el" href="classtranswarp_1_1listener.html">listener</a>) override</td></tr>
<tr class="memdesc:a83255d9dd559248835e3e686f6f8fa22 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a new listener for the given event type only. <br/></td></tr>
<tr class="separator:a83255d9dd559248835e3e686f6f8fa22 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a424473dbb98ba2e82ebb65b18ced83 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7a424473dbb98ba2e82ebb65b18ced83"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a7a424473dbb98ba2e82ebb65b18ced83">remove_listener</a> (const std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1listener.html">transwarp::listener</a> &gt; &amp;<a class="el" href="classtranswarp_1_1listener.html">listener</a>) override</td></tr>
<tr class="memdesc:a7a424473dbb98ba2e82ebb65b18ced83 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes the listener for all event types. <br/></td></tr>
<tr class="separator:a7a424473dbb98ba2e82ebb65b18ced83 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3bf5d3ab34b0191fe82f3686e906aac4 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3bf5d3ab34b0191fe82f3686e906aac4"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a3bf5d3ab34b0191fe82f3686e906aac4">remove_listener</a> (<a class="el" href="namespacetranswarp.html#a857009a6efbb2f34495ee81664a376dc">transwarp::event_type</a> event, const std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1listener.html">transwarp::listener</a> &gt; &amp;<a class="el" href="classtranswarp_1_1listener.html">listener</a>) override</td></tr>
<tr class="memdesc:a3bf5d3ab34b0191fe82f3686e906aac4 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes the listener for the given event type only. <br/></td></tr>
<tr class="separator:a3bf5d3ab34b0191fe82f3686e906aac4 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afdd70445f0088660f5a7b35c60e23b5b inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afdd70445f0088660f5a7b35c60e23b5b"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#afdd70445f0088660f5a7b35c60e23b5b">remove_listeners</a> () override</td></tr>
<tr class="memdesc:afdd70445f0088660f5a7b35c60e23b5b inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes all listeners. <br/></td></tr>
<tr class="separator:afdd70445f0088660f5a7b35c60e23b5b inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a36555b7fdbbd6383080c222752e67928 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a36555b7fdbbd6383080c222752e67928"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a36555b7fdbbd6383080c222752e67928">remove_listeners</a> (<a class="el" href="namespacetranswarp.html#a857009a6efbb2f34495ee81664a376dc">transwarp::event_type</a> event) override</td></tr>
<tr class="memdesc:a36555b7fdbbd6383080c222752e67928 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes all listeners for the given event type. <br/></td></tr>
<tr class="separator:a36555b7fdbbd6383080c222752e67928 inherit pub_methods_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classtranswarp_1_1task_3_01void_01_4"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classtranswarp_1_1task_3_01void_01_4')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classtranswarp_1_1task_3_01void_01_4.html">transwarp::task&lt; void &gt;</a></td></tr>
<tr class="memitem:a8367fd27fcdccf844763e35c8d5e3269 inherit pub_methods_classtranswarp_1_1task_3_01void_01_4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8367fd27fcdccf844763e35c8d5e3269"></a>
std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1task.html">task</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>clone</b> () const </td></tr>
<tr class="separator:a8367fd27fcdccf844763e35c8d5e3269 inherit pub_methods_classtranswarp_1_1task_3_01void_01_4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a71bd1de10b98638f46fe59f4a7df9437"><td class="memTemplParams" colspan="2"><a class="anchor" id="a71bd1de10b98638f46fe59f4a7df9437"></a>
template&lt;typename F &gt; </td></tr>
<tr class="memitem:a71bd1de10b98638f46fe59f4a7df9437"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><b>task_impl_proxy</b> (F &amp;&amp;<a class="el" href="classtranswarp_1_1functor.html">functor</a>, std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1task.html">transwarp::task</a>&lt; ParentResults &gt;&gt;...<a class="el" href="structtranswarp_1_1detail_1_1parents.html">parents</a>)</td></tr>
<tr class="separator:a71bd1de10b98638f46fe59f4a7df9437"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4580bb8192291605e3362830d9e6fdb1"><td class="memTemplParams" colspan="2"><a class="anchor" id="a4580bb8192291605e3362830d9e6fdb1"></a>
template&lt;typename F , typename P &gt; </td></tr>
<tr class="memitem:a4580bb8192291605e3362830d9e6fdb1"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><b>task_impl_proxy</b> (F &amp;&amp;<a class="el" href="classtranswarp_1_1functor.html">functor</a>, std::vector&lt; std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1task.html">transwarp::task</a>&lt; P &gt;&gt;&gt; <a class="el" href="structtranswarp_1_1detail_1_1parents.html">parents</a>)</td></tr>
<tr class="separator:a4580bb8192291605e3362830d9e6fdb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classtranswarp_1_1detail_1_1task__impl__base')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html">transwarp::detail::task_impl_base&lt; void, TaskType, Functor, ParentResults...&gt;</a></td></tr>
<tr class="memitem:a45bec385ef45983cc4550557029c75a2 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a45bec385ef45983cc4550557029c75a2"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>task_impl_base</b> (F &amp;&amp;<a class="el" href="classtranswarp_1_1functor.html">functor</a>, std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1task.html">transwarp::task</a>&lt; ParentResults &gt;&gt;...<a class="el" href="structtranswarp_1_1detail_1_1parents.html">parents</a>)</td></tr>
<tr class="separator:a45bec385ef45983cc4550557029c75a2 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf0d64efa275dd89abd98ce43644e023 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abf0d64efa275dd89abd98ce43644e023"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>task_impl_base</b> (F &amp;&amp;<a class="el" href="classtranswarp_1_1functor.html">functor</a>, std::vector&lt; std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1task.html">transwarp::task</a>&lt; P &gt;&gt;&gt; <a class="el" href="structtranswarp_1_1detail_1_1parents.html">parents</a>)</td></tr>
<tr class="separator:abf0d64efa275dd89abd98ce43644e023 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab67a89b46e9909209bbb45b954edb1d5 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab67a89b46e9909209bbb45b954edb1d5"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>init</b> ()</td></tr>
<tr class="separator:ab67a89b46e9909209bbb45b954edb1d5 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac01052c298f37862e4b8660e355beff9 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac01052c298f37862e4b8660e355beff9"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#ac01052c298f37862e4b8660e355beff9">set_level</a> (std::size_t <a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#ab3bb6fe289b3bba997188bbcb7e35c5e">level</a>) noexceptoverride</td></tr>
<tr class="memdesc:ac01052c298f37862e4b8660e355beff9 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assigns the given level. <br/></td></tr>
<tr class="separator:ac01052c298f37862e4b8660e355beff9 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a961ed013e54364513c94b7ce772f185f inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a961ed013e54364513c94b7ce772f185f"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a961ed013e54364513c94b7ce772f185f">set_type</a> (<a class="el" href="namespacetranswarp.html#a10f2b2567332cf9514d4c366c1cc5a5e">transwarp::task_type</a> <a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#ab39ac1ad7ec432a7ad3644665bc8787f">type</a>) noexceptoverride</td></tr>
<tr class="memdesc:a961ed013e54364513c94b7ce772f185f inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assigns the given type. <br/></td></tr>
<tr class="separator:a961ed013e54364513c94b7ce772f185f inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4f7cd8e2e45ff4279a9d51c118a9233 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac4f7cd8e2e45ff4279a9d51c118a9233"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#ac4f7cd8e2e45ff4279a9d51c118a9233">set_avg_idletime_us</a> (std::int64_t idletime) noexceptoverride</td></tr>
<tr class="memdesc:ac4f7cd8e2e45ff4279a9d51c118a9233 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assigns the given idletime. <br/></td></tr>
<tr class="separator:ac4f7cd8e2e45ff4279a9d51c118a9233 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad140b19e0b20285751c32bb1ecbd9314 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad140b19e0b20285751c32bb1ecbd9314"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#ad140b19e0b20285751c32bb1ecbd9314">set_avg_waittime_us</a> (std::int64_t waittime) noexceptoverride</td></tr>
<tr class="memdesc:ad140b19e0b20285751c32bb1ecbd9314 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assigns the given waittime. <br/></td></tr>
<tr class="separator:ad140b19e0b20285751c32bb1ecbd9314 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1fc4743fd4e53a6381845ab320d1fa00 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1fc4743fd4e53a6381845ab320d1fa00"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a1fc4743fd4e53a6381845ab320d1fa00">set_avg_runtime_us</a> (std::int64_t runtime) noexceptoverride</td></tr>
<tr class="memdesc:a1fc4743fd4e53a6381845ab320d1fa00 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assigns the given runtime. <br/></td></tr>
<tr class="separator:a1fc4743fd4e53a6381845ab320d1fa00 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf6cc7251f5ef7af5a803f6f6dcbf920 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abf6cc7251f5ef7af5a803f6f6dcbf920"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#abf6cc7251f5ef7af5a803f6f6dcbf920">ensure_task_was_scheduled</a> () const</td></tr>
<tr class="memdesc:abf6cc7251f5ef7af5a803f6f6dcbf920 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if the task was scheduled and throws <a class="el" href="classtranswarp_1_1control__error.html" title="Exception thrown when a task is used in unintended ways. ">transwarp::control_error</a> if it's not. <br/></td></tr>
<tr class="separator:abf6cc7251f5ef7af5a803f6f6dcbf920 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e765a048e7d032614d95d10601c2df1 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1e765a048e7d032614d95d10601c2df1"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a1e765a048e7d032614d95d10601c2df1">schedule_impl</a> (bool <a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#ae9395346d257ac48c5dc807681bc0859">reset</a>, <a class="el" href="classtranswarp_1_1executor.html">transwarp::executor</a> *<a class="el" href="classtranswarp_1_1executor.html">executor</a>=nullptr) override</td></tr>
<tr class="memdesc:a1e765a048e7d032614d95d10601c2df1 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Schedules this task for execution using the provided executor. The task-specific executor gets precedence if it exists. Runs the task on the same thread as the caller if neither the global nor the task-specific executor is found. <br/></td></tr>
<tr class="separator:a1e765a048e7d032614d95d10601c2df1 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a042e8ad7eef198100dc967a0193180fa inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a042e8ad7eef198100dc967a0193180fa"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a042e8ad7eef198100dc967a0193180fa">schedule_all_impl</a> (bool <a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#afc2bb4a5017de5ddd00425fd51ae5d14">reset_all</a>, <a class="el" href="classtranswarp_1_1executor.html">transwarp::executor</a> *<a class="el" href="classtranswarp_1_1executor.html">executor</a>=nullptr)</td></tr>
<tr class="memdesc:a042e8ad7eef198100dc967a0193180fa inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Schedules all tasks in the graph for execution using the provided executor. The task-specific executors get precedence if they exist. Runs tasks on the same thread as the caller if neither the global nor a task-specific executor is found. <br/></td></tr>
<tr class="separator:a042e8ad7eef198100dc967a0193180fa inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32bb0ef035cef5740142c04b1cc11398 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a32bb0ef035cef5740142c04b1cc11398"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#a32bb0ef035cef5740142c04b1cc11398">visit</a> (const std::function&lt; void(<a class="el" href="classtranswarp_1_1itask.html">transwarp::itask</a> &amp;)&gt; &amp;visitor) override</td></tr>
<tr class="memdesc:a32bb0ef035cef5740142c04b1cc11398 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Visits each task in a depth-first traversal. <br/></td></tr>
<tr class="separator:a32bb0ef035cef5740142c04b1cc11398 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab23929e17b67b1b7bfc4ba1f73c3c7bd inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab23929e17b67b1b7bfc4ba1f73c3c7bd"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#ab23929e17b67b1b7bfc4ba1f73c3c7bd">unvisit</a> () noexceptoverride</td></tr>
<tr class="memdesc:ab23929e17b67b1b7bfc4ba1f73c3c7bd inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Traverses through each task and marks them as not visited. <br/></td></tr>
<tr class="separator:ab23929e17b67b1b7bfc4ba1f73c3c7bd inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0a599980419f12e228fcfcdb28b6743 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab0a599980419f12e228fcfcdb28b6743"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#ab0a599980419f12e228fcfcdb28b6743">visit_all</a> (Visitor &amp;visitor)</td></tr>
<tr class="memdesc:ab0a599980419f12e228fcfcdb28b6743 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Visits all tasks. <br/></td></tr>
<tr class="separator:ab0a599980419f12e228fcfcdb28b6743 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab36159bcc627159382c8aaabc4b97c9b inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab36159bcc627159382c8aaabc4b97c9b"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>increment_childcount</b> () noexceptoverride</td></tr>
<tr class="separator:ab36159bcc627159382c8aaabc4b97c9b inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9172fa31104c4a9a0f0607aef89b6f1d inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9172fa31104c4a9a0f0607aef89b6f1d"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>decrement_refcount</b> () override</td></tr>
<tr class="separator:a9172fa31104c4a9a0f0607aef89b6f1d inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a56a62bbcde145c7e911fa45efb9cd1 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6a56a62bbcde145c7e911fa45efb9cd1"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>reset_future</b> () override</td></tr>
<tr class="separator:a6a56a62bbcde145c7e911fa45efb9cd1 inherit pro_methods_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classtranswarp_1_1detail_1_1task__common"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classtranswarp_1_1detail_1_1task__common')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classtranswarp_1_1detail_1_1task__common.html">transwarp::detail::task_common&lt; void &gt;</a></td></tr>
<tr class="memitem:abcea9f11a02d041af017b110551fd322 inherit pro_methods_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abcea9f11a02d041af017b110551fd322"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#abcea9f11a02d041af017b110551fd322">ensure_task_not_running</a> () const</td></tr>
<tr class="memdesc:abcea9f11a02d041af017b110551fd322 inherit pro_methods_classtranswarp_1_1detail_1_1task__common"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if the task is currently running and throws <a class="el" href="classtranswarp_1_1control__error.html" title="Exception thrown when a task is used in unintended ways. ">transwarp::control_error</a> if it is. <br/></td></tr>
<tr class="separator:abcea9f11a02d041af017b110551fd322 inherit pro_methods_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a98d90812f2f9007f04988e5669c6260b inherit pro_methods_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a98d90812f2f9007f04988e5669c6260b"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a98d90812f2f9007f04988e5669c6260b">raise_event</a> (<a class="el" href="namespacetranswarp.html#a857009a6efbb2f34495ee81664a376dc">transwarp::event_type</a> event)</td></tr>
<tr class="memdesc:a98d90812f2f9007f04988e5669c6260b inherit pro_methods_classtranswarp_1_1detail_1_1task__common"><td class="mdescLeft">&#160;</td><td class="mdescRight">Raises the given event to all listeners. <br/></td></tr>
<tr class="separator:a98d90812f2f9007f04988e5669c6260b inherit pro_methods_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8fc32106a2eef7afa841bdf81ab4900 inherit pro_methods_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad8fc32106a2eef7afa841bdf81ab4900"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#ad8fc32106a2eef7afa841bdf81ab4900">check_listener</a> (const std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1listener.html">transwarp::listener</a> &gt; &amp;<a class="el" href="classtranswarp_1_1listener.html">listener</a>) const</td></tr>
<tr class="memdesc:ad8fc32106a2eef7afa841bdf81ab4900 inherit pro_methods_classtranswarp_1_1detail_1_1task__common"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check for non-null listener pointer. <br/></td></tr>
<tr class="separator:ad8fc32106a2eef7afa841bdf81ab4900 inherit pro_methods_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f4211c08644503f8c576ebb252cdaa8 inherit pro_methods_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0f4211c08644503f8c576ebb252cdaa8"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>ensure_listeners_object</b> ()</td></tr>
<tr class="separator:a0f4211c08644503f8c576ebb252cdaa8 inherit pro_methods_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1ffd04efa3c7f6e785bfcdc272d719a inherit pro_methods_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac1ffd04efa3c7f6e785bfcdc272d719a"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#ac1ffd04efa3c7f6e785bfcdc272d719a">set_id</a> (std::size_t <a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a35c8025a7dc38caf099507ecc5e19ae1">id</a>) noexceptoverride</td></tr>
<tr class="memdesc:ac1ffd04efa3c7f6e785bfcdc272d719a inherit pro_methods_classtranswarp_1_1detail_1_1task__common"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assigns the given id. <br/></td></tr>
<tr class="separator:ac1ffd04efa3c7f6e785bfcdc272d719a inherit pro_methods_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4d35046d104cb6bd82788abd8360abf inherit pro_methods_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab4d35046d104cb6bd82788abd8360abf"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#ab4d35046d104cb6bd82788abd8360abf">set_name</a> (transwarp::option_str <a class="el" href="classtranswarp_1_1detail_1_1task__common.html#ab72873890c32b635f36678d403605c59">name</a>) noexceptoverride</td></tr>
<tr class="memdesc:ab4d35046d104cb6bd82788abd8360abf inherit pro_methods_classtranswarp_1_1detail_1_1task__common"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assigns the given name. <br/></td></tr>
<tr class="separator:ab4d35046d104cb6bd82788abd8360abf inherit pro_methods_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a366db5b81b4e56aa674b15e97ee9d6bb inherit pro_methods_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a366db5b81b4e56aa674b15e97ee9d6bb"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>copy_from</b> (const <a class="el" href="classtranswarp_1_1detail_1_1task__common.html">task_common</a> &amp;<a class="el" href="classtranswarp_1_1task.html">task</a>)</td></tr>
<tr class="separator:a366db5b81b4e56aa674b15e97ee9d6bb inherit pro_methods_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pro_types_classtranswarp_1_1detail_1_1task__common"><td colspan="2" onclick="javascript:toggleInherit('pro_types_classtranswarp_1_1detail_1_1task__common')"><img src="closed.png" alt="-"/>&#160;Protected Types inherited from <a class="el" href="classtranswarp_1_1detail_1_1task__common.html">transwarp::detail::task_common&lt; void &gt;</a></td></tr>
<tr class="memitem:ab766ac1eef4ddb2ce63d1694b15cd423 inherit pro_types_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab766ac1eef4ddb2ce63d1694b15cd423"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>listeners_t</b> = std::map&lt; <a class="el" href="namespacetranswarp.html#a857009a6efbb2f34495ee81664a376dc">transwarp::event_type</a>, std::vector&lt; std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1listener.html">transwarp::listener</a> &gt;&gt;&gt;</td></tr>
<tr class="separator:ab766ac1eef4ddb2ce63d1694b15cd423 inherit pro_types_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d66f1900447a8d1f9b92ce4314b68ed inherit pro_types_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9d66f1900447a8d1f9b92ce4314b68ed"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>tasks_t</b> = std::vector&lt; <a class="el" href="classtranswarp_1_1itask.html">transwarp::itask</a> * &gt;</td></tr>
<tr class="separator:a9d66f1900447a8d1f9b92ce4314b68ed inherit pro_types_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classtranswarp_1_1detail_1_1task__impl__base')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html">transwarp::detail::task_impl_base&lt; void, TaskType, Functor, ParentResults...&gt;</a></td></tr>
<tr class="memitem:a10d247a77f3d6f1a4469f0a566340e7a inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a10d247a77f3d6f1a4469f0a566340e7a"></a>
std::size_t&#160;</td><td class="memItemRight" valign="bottom"><b>level_</b></td></tr>
<tr class="separator:a10d247a77f3d6f1a4469f0a566340e7a inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0acc38b5429447b6b4bdd899989cc69e inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0acc38b5429447b6b4bdd899989cc69e"></a>
<a class="el" href="namespacetranswarp.html#a10f2b2567332cf9514d4c366c1cc5a5e">transwarp::task_type</a>&#160;</td><td class="memItemRight" valign="bottom"><b>type_</b></td></tr>
<tr class="separator:a0acc38b5429447b6b4bdd899989cc69e inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f88918ca722e79eb1d91df2a92b3d49 inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4f88918ca722e79eb1d91df2a92b3d49"></a>
std::shared_ptr<br class="typebreak"/>
&lt; <a class="el" href="classtranswarp_1_1executor.html">transwarp::executor</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>executor_</b></td></tr>
<tr class="separator:a4f88918ca722e79eb1d91df2a92b3d49 inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a07848bd634fd14e7ac6efbb6365be516 inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a07848bd634fd14e7ac6efbb6365be516"></a>
std::atomic&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>canceled_</b></td></tr>
<tr class="separator:a07848bd634fd14e7ac6efbb6365be516 inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad8089476290c290ad7c61e347f7a84e inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad8089476290c290ad7c61e347f7a84e"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>schedule_mode_</b></td></tr>
<tr class="separator:aad8089476290c290ad7c61e347f7a84e inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf592e6652d6b1c7d7b7c413aa08ef06 inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acf592e6652d6b1c7d7b7c413aa08ef06"></a>
std::atomic&lt; std::int64_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>avg_idletime_us_</b></td></tr>
<tr class="separator:acf592e6652d6b1c7d7b7c413aa08ef06 inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c5edd7983946306803e14514df73879 inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3c5edd7983946306803e14514df73879"></a>
std::atomic&lt; std::int64_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>avg_waittime_us_</b></td></tr>
<tr class="separator:a3c5edd7983946306803e14514df73879 inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d447810637b6db04a4e7d2b2cbecab8 inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9d447810637b6db04a4e7d2b2cbecab8"></a>
std::atomic&lt; std::int64_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>avg_runtime_us_</b></td></tr>
<tr class="separator:a9d447810637b6db04a4e7d2b2cbecab8 inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38fd832b254fd069171dfed3d68b3bda inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a38fd832b254fd069171dfed3d68b3bda"></a>
std::unique_ptr&lt; Functor &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>functor_</b></td></tr>
<tr class="separator:a38fd832b254fd069171dfed3d68b3bda inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa49200937132ccb16c1a4ad660b76719 inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa49200937132ccb16c1a4ad660b76719"></a>
<a class="el" href="structtranswarp_1_1detail_1_1parents.html">transwarp::detail::parents</a><br class="typebreak"/>
&lt; ParentResults...&gt;::<a class="el" href="classtranswarp_1_1detail_1_1task__impl__base.html#ab39ac1ad7ec432a7ad3644665bc8787f">type</a>&#160;</td><td class="memItemRight" valign="bottom"><b>parents_</b></td></tr>
<tr class="separator:aa49200937132ccb16c1a4ad660b76719 inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6bf884c05e8791a32a863e83f977783e inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6bf884c05e8791a32a863e83f977783e"></a>
std::size_t&#160;</td><td class="memItemRight" valign="bottom"><b>childcount_</b></td></tr>
<tr class="separator:a6bf884c05e8791a32a863e83f977783e inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0cf1aca254900b78ecb98ecd83ae4f52 inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0cf1aca254900b78ecb98ecd83ae4f52"></a>
std::atomic&lt; std::size_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>refcount_</b></td></tr>
<tr class="separator:a0cf1aca254900b78ecb98ecd83ae4f52 inherit pro_attribs_classtranswarp_1_1detail_1_1task__impl__base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classtranswarp_1_1detail_1_1task__common"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classtranswarp_1_1detail_1_1task__common')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classtranswarp_1_1detail_1_1task__common.html">transwarp::detail::task_common&lt; void &gt;</a></td></tr>
<tr class="memitem:a6184cac2e551515a3de97da8f234c8eb inherit pro_attribs_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6184cac2e551515a3de97da8f234c8eb"></a>
std::size_t&#160;</td><td class="memItemRight" valign="bottom"><b>id_</b></td></tr>
<tr class="separator:a6184cac2e551515a3de97da8f234c8eb inherit pro_attribs_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55a0c382faf0f631da83f0d70b5596c5 inherit pro_attribs_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a55a0c382faf0f631da83f0d70b5596c5"></a>
transwarp::option_str&#160;</td><td class="memItemRight" valign="bottom"><b>name_</b></td></tr>
<tr class="separator:a55a0c382faf0f631da83f0d70b5596c5 inherit pro_attribs_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3cdf96e89a134ac180c5eca176fabf3b inherit pro_attribs_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3cdf96e89a134ac180c5eca176fabf3b"></a>
std::int64_t&#160;</td><td class="memItemRight" valign="bottom"><b>priority_</b></td></tr>
<tr class="separator:a3cdf96e89a134ac180c5eca176fabf3b inherit pro_attribs_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac85e62418d29f7b9d00c2f4f2d75c62e inherit pro_attribs_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac85e62418d29f7b9d00c2f4f2d75c62e"></a>
transwarp::any_data&#160;</td><td class="memItemRight" valign="bottom"><b>custom_data_</b></td></tr>
<tr class="separator:ac85e62418d29f7b9d00c2f4f2d75c62e inherit pro_attribs_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69363414e45265aa6fa3b75f9e8f6950 inherit pro_attribs_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a69363414e45265aa6fa3b75f9e8f6950"></a>
std::shared_future&lt; <a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a3a0e6f882a6dd86fa2e152a2aa595f90">result_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>future_</b></td></tr>
<tr class="separator:a69363414e45265aa6fa3b75f9e8f6950 inherit pro_attribs_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b7009cf0dc2c0fd22b301aa610bbb57 inherit pro_attribs_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7b7009cf0dc2c0fd22b301aa610bbb57"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>visited_</b></td></tr>
<tr class="separator:a7b7009cf0dc2c0fd22b301aa610bbb57 inherit pro_attribs_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51748bcf8e8a2f377d6f924cd1ee4d6d inherit pro_attribs_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a51748bcf8e8a2f377d6f924cd1ee4d6d"></a>
std::unique_ptr&lt; listeners_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>listeners_</b></td></tr>
<tr class="separator:a51748bcf8e8a2f377d6f924cd1ee4d6d inherit pro_attribs_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1da5cb3ac99aca288cb0afe0a3044e9 inherit pro_attribs_classtranswarp_1_1detail_1_1task__common"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae1da5cb3ac99aca288cb0afe0a3044e9"></a>
std::unique_ptr&lt; tasks_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>tasks_</b></td></tr>
<tr class="separator:ae1da5cb3ac99aca288cb0afe0a3044e9 inherit pro_attribs_classtranswarp_1_1detail_1_1task__common"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename TaskType, typename Functor, typename... ParentResults&gt;<br/>
class transwarp::detail::task_impl_proxy&lt; void, TaskType, Functor, ParentResults...&gt;</h3>

<p>A task proxy for void result type. </p>
</div><hr/>The documentation for this class was generated from the following file:<ul>
<li>src/<a class="el" href="transwarp_8h_source.html">transwarp.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.5
</small></address>
</body>
</html>
